package com.excesys.exsecs.energy.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 能耗设备型号注册表，只有注册过的型号才能在能耗系统中显示
 *
 * @author lxc
 * @date 2024-02-20 17:02:07
 */
@Data
@TableName("bum_reg_model")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "能耗设备型号注册表，只有注册过的型号才能在能耗系统中显示")
public class RegModel extends Model<RegModel> {


	/**
	* 主键
	*/
    @TableId(type = IdType.AUTO)
    @Schema(description="主键")
    private Long id;

	/**
	* 注册的产品
	*/
    @Schema(description="注册的设备产品")
    private String devModel;

	/**
	* 计量设备类型 1电表 2水表 3气。。。
	*/
    @Schema(description="计量设备类型 1电表 2水表 3气。。。")
    private String energyType;

	/**
	 * 额定电压
	 */
	@Schema(description="额定电压")
	private String ratedVoltage;

	/**
	 * 额定电流
	 */
	@Schema(description="额定电流")
	private String ratedCurrent;

	/**
	 * 系数
	 */
	@Schema(description="系数")
	private String factor;

	/**
	* 备注
	*/
    @Schema(description="备注")
    private String remark;

	/**
	 * 产品key
	 */
	@Schema(description="产品key")
	@TableField(exist = false)
	private String productKey;

	/**
	 * 产品名称
	 */
	@Schema(description="产品名称")
	@TableField(exist = false)
	private String productName;

	/**
	 * 品类编码
	 */
	@Schema(description="品类编码")
	@TableField(exist = false)
	private String identify;

	/**
	 * 品类名称
	 */
	@Schema(description="品类名称")
	@TableField(exist = false)
	private String categoryName;

	/**
	* 创建人
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建人")
    private String createBy;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
    private LocalDateTime createTime;

	/**
	* 更新人
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="更新人")
    private String updateBy;

	/**
	* 更新时间
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="更新时间")
    private LocalDateTime updateTime;
}